package com.jiangnan.warehouse_management.service;

import com.jiangnan.warehouse_management.dto.request.InventoryCheckRequest;
import com.jiangnan.warehouse_management.dto.response.InventoryQueryResponse;
import com.jiangnan.warehouse_management.dto.response.InventoryResponse;
import com.jiangnan.warehouse_management.dto.response.InventoryStatsResponse;
import com.jiangnan.warehouse_management.dto.response.InventoryWarningListResponse;
import com.jiangnan.warehouse_management.pojo.Inventory;

public interface InventoryService {
    InventoryQueryResponse getInventoryList(
        Integer page,
        Integer pageSize,
        Integer itemId,
        Integer warehouseId,
        Boolean lowStock
    );

    InventoryResponse getInventoryById(Integer id);

    Inventory checkInventory(Integer id, InventoryCheckRequest request);

    InventoryWarningListResponse getInventoryWarnings();

    InventoryStatsResponse getInventoryStats();
} 